In a virtualized environment, a distributed file system may be employed to host virtual machine data. The distributed file system may manage different types of resources including the allocation and deallocation of storage (file blocks) for files. When files are created or grown, file system storage is consumed (allocated), and when files are truncated or removed, file system storage is freed (deallocated). It is therefore important that host machines in the virtualized environment with access to the file system have a consistent view of the current state of the file system. In order to ensure that only one host machine at a time is consuming or freeing a particular set of resources (e.g., file blocks), a locking mechanism may be employed to ensure mutual exclusion of file system resources.